import UIKit

// 常量
class Const {
    // 格
    public static var GRID_SIZE = 0                                     // 尺寸（需要根据屏幕尺寸计算出来）
    
    // 游戏区域
    public static let GAME_BOARD_POINT_COUNT_H = 15                     // 横向点数
    public static let GAME_BOARD_POINT_COUNT_V = 15                     // 纵向点数
    public static let GAME_BOARD_COLOR = CGColor(red: 128 / WHITE,
        green: 128 / WHITE, blue: 192 / WHITE, alpha: 1.0)              // 背景色
    public static let GAME_BOARD_BORDER_COLOR = UIColor.black.cgColor   // 线颜色
    
    // 胜利数
    public static let WIN_NUMBER = 5                                    // 达到此数胜利

    // 事件
    public static let UM_CONNECTED =
        Notification.Name("UM_CONNECTED")                               // 网络连接完成事件
    public static let UM_GAME_OVER =
        Notification.Name("UM_GAME_OVER")                               // 游戏结束事件
    public static let UM_GAME_START =
        Notification.Name("UM_GAME_START");                             // 游戏开始事件
    public static let UM_GET_FIND_USERS_RESULT =
        Notification.Name("UM_GET_FIND_USERS_RESULT")                   // 得到寻找用户结果事件
    public static let UM_GET_INVITE_REQUEST =
        Notification.Name("UM_GET_INVITE_REQUEST")                      // 得到挑战请求事件
    public static let UM_GET_INVITE_RESULT =
        Notification.Name("UM_GET_INVITE_RESULT")                       // 得到挑战结果事件
    public static let UM_GET_LOGON_RESULT =
        Notification.Name("UM_GET_LOGON_RESULT")                        // 得到登录结果事件
    public static let UM_RIVAL_QUIT_GAME =
        Notification.Name("UM_RIVAL_QUIT_GAME")                         // 对手退出游戏事件
    
    // 键
    public static let KEY_USERNAME = "username"                         // 用户名
    public static let KEY_STATUS = "status"                             // 状态

    // 主视图
    public static let COLOR = UIColor(red: 255 / WHITE,
        green: 255 / WHITE, blue: 255 / WHITE, alpha: 1.0)              // 背景色

    // 比例
    public static let SCALE_LABEL_HEIGHT: Float = 0.05                  // 主视图标签高度与屏幕高度之比
    public static let SCALE_RIVAL_WINDOW_PADDING = 0.15                 // 对手列表窗口左右边界到屏幕边界之间的空白区域的宽度与屏幕宽度之比
    public static let SCALE_RIVAL_WINDOW_TITLE_VIEW_HEIGHT = 1.7        // 对手列表窗口标题视图的高度与列表项的高度之比
    public static let SCALE_RIVAL_WINDOW_TABLE_VIEW_HEIGHT = 0.4        // 对手列表窗口列表视图的高度与屏幕高度之比
    public static let SCALE_RIVAL_WINDOW_BUTTON_HEIGHT = 1.2            // 对手列表窗口按钮的高度与列表项的高度之比

    // 其它
    public static let WHITE = 255.0                                     // 白色的 RGB 值
}
